#ifndef __ESP32_UART_H
#define __ESP32_UART_H

#include "ch32v30x.h"
#include <stdint.h>

// ESP32通道配置
#define ESP32_UART_PORT    USART2           // 使用USART2
#define ESP32_BAUDRATE     115200
#define ESP32_TX_PIN       GPIO_Pin_2       // PA2: TX
#define ESP32_RX_PIN       GPIO_Pin_3       // PA3: RX

#define ESP32_GPIO_PORT    GPIOA
#define ESP32_BUFFER_SIZE  32

// 数据帧定义
#define START_MARKER    0x55    // 起始标记
#define END_MARKER     0xAA    // 结束标记
#define FRAME_SIZE     6       // 帧大小：起始(1) + 数据(4) + 结束(1)

// ESP32数据结构体定义
typedef struct {
    uint8_t raw_data[4];    // 保持原始字节数据
} ESP32_Data_TypeDef;

// 函数声明
void ESP32_UART_Init(void);
void ESP32_Data_Process(void);
ESP32_Data_TypeDef ESP32_Get_Data(void);

#endif